function postData(n) {
    var t = {
        cache: !1
    },
    a = arguments;
    3 === a.length ? (t.data = a[1], t.callback = a[2]) : t = a[1],
            $.showIndicator(),
            $.ajax({
                cache: t.cache,
                url: n,
                type: "POST",
                dataType: "json",
                data: t.data,
                success: function (n) {
                    $.hideIndicator(),
                            t.callback && (n && n.ok ? t.callback(n.data) : n.err ? t.callback(null, n.err) : t.callback(null, "操作失败"))
                },
                error: function (n, a, i) {
                    $.hideIndicator(),
                            t.callback && (i ? t.callback(null, i) : n ? t.callback(null, n.responseText) : a ? t.callback(null, a) : t.callback(null, "发生未知错误"))
                }
            })
}
function showQrCode(n, t, a) {
    var i = $(n).find(".qrcode-image"),
            e = $(n).find(".popup-subscribe");
    return "" != i.attr("src") ? void $.popup(e) : (postData(t, null,
            function (t, a) {
                a ? $.alert(a) : ($(n).find(i).attr("src", t), $.popup(e))
            }), void $(n).find(".btn-suss-subscribe").on("click",
            function () {
                $.router.load(a + "?reload=" + (new Date).getTime(), !0)
            }))
}
function replaceUrlAsLink(n) {
    if (!n || "" === n)
        return "";
    var t = /https?:\/\/[\da-zA-Z\-]+(\.[\da-zA-Z\-]+){1,}[\.\w-;:&=#\+\$,\?\/%_^\s]*/g,
            a = n.match(t);
    return a && $.each(a,
            function () {
                0 === this.indexOf("http") && (n = n.replace(this, ' [<a href="' + this + '" class="external">这是任务链接</a>] '))
            }),
            n
}
$(function () {
    function n() {
        $.confirm("确定要放弃该任务?",
                function () {
                    postData("/task/giveup", null,
                            function (n, t) {
                                t ? $.alert(t) : $.router.load("/task", !0)
                            })
                })
    }
    $(document).on("pageInit", "#page-login",
            function (n, t, a) {
                $(a).find("#btnLogin").on("click",
                        function () {
                            var n = $(a).find("#username");
                            if ("" === n.val())
                                return void $.alert("请输入用户名",
                                        function () {
                                            n.focus()
                                        });
                            var t = $(a).find("#passwd");
                            return "" === t.val() ? void $.alert("请输入密码",
                                    function () {
                                        t.focus()
                                    }) : void postData("/login", {
                                username: n.val(),
                                passwd: t.val()
                            },
                                    function (n, t) {
                                        return t ? void $.alert(t) : void(window.location.href = "/")
                                    })
                        })
            }),
            $(document).on("pageInit", "#page-reg",
            function (n, t, a) {
                $(a).find("#btnReg").click(function () {
                    var n = $(a).find("#username");
                    if ("" === n.val())
                        return void $.alert("请输入用户名",
                                function () {
                                    n.focus()
                                });
                    var t = $(a).find("#phoneNumber");
                    if ("" === t.val())
                        return void $.alert("请输入手机号码",
                                function () {
                                    t.focus()
                                });
                    if (11 != t.val().length || !/^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/.test(t.val()))
                        return void $.alert("手机号码格式不正确",
                                function () {
                                    t.focus()
                                });
                    var i = $(a).find("#passwd");
                    if ("" === i.val())
                        return void $.alert("请输入密码",
                                function () {
                                    i.focus()
                                });
                    var e = $(a).find("#confirmPasswd");
                    return "" === e.val() ? void $.alert("请输入确认密码",
                            function () {
                                e.focus()
                            }) : e.val() != i.val() ? void $.alert("两次输入的密码不一致",
                            function () {
                                e.focus()
                            }) : void postData("/reg", {
                        username: n.val(),
                        passwd: i.val(),
                        phone_number: t.val(),
                        code: $(a).find("#code").val()
                    },
                            function (n, t) {
                                t ? $.alert(t) : window.location.href = "/"
                            })
                })
            }),
            $(document).on("pageInit", "#page-my-cash",
            function (n, t, a) {
                function i() {
                    postData("/account/tixian.html", {
                        cache: !0,
                        data: {
                            page: r + 1
                        },
                        callback: function (n, t) {
//                            return t ? void $.alert(t) : n && n.list && 0 != n.list.length ? (r = n.page, n.hasNextPage ? l.parent("p").removeClass("hide") : l.parent("p").addClass("hide"), $(a).find(".no-data").addClass("hide"), void $.each(n.list,
//                                    function () {
//                                        var n = $(c);
//                                        n.find(".amount").html(this.amount),
//                                                n.find(".date").html(this.date),
//                                                o.append(n)
//                                    })) : void $(a).find(".no-data").removeClass("hide")
                        }
                    })
                }
                $(a).find(".btn-subscribe, .i-code.pull-right").on("click",
                        function () {
                            showQrCode(a, "/my/cash-qrcode", "/my/cash")
                        }),
                        $(a).find(".btn-cash").on("click",
                        function () {
                            var n = $(a).find(".popup-cash-suss"),
                                    t = $(a).find(".cash-amount");
                            postData("/my/cash-to-weixin", null,
                                    function (a, i) {
                                        i ? $.alert(i) : (t.html(a), $.popup(n))
                                    })
                        }),
                        $(a).find(".btn-allright").on("click",
                        function () {
                            $.router.load("/my/cash?reload=" + (new Date).getTime(), !0)
                        });
                var e = $(a).find("h1.title"),
                        o = $(a).find("#cashList"),
                        c = $(a).find("#cashListItemTpl").html(),
                        l = $(a).find("#btnLoadMore"),
                        r = 0;
                $(a).find("#tab-cash").on("show",
                        function () {
                            e.text("提现")
                        }),
                        $(a).find("#tab-history").on("show",
                        function () {
                            e.text("提现记录"),
                                    0 == r && (l.parent("p").removeClass().addClass("hide"), o.find("li").length > 0 ? (o.empty(), i()) : i())
                        }),
                        l.on("click",
                                function () {
                                    //i()
                                })
            }),
            $(document).on("pageInit", "#page-task-get",
            function (t, a, i) {
                $(i).find(".btn-subscribe").on("click",
                        function () {
                            showQrCode(i, "/task/qrcode", "/task/get")
                        }),
                        $(i).find(".i-roundclose").on("click",
                        function () {
                            n()
                        });
                var e = $("#taskDesc");
                e.length && e.html(replaceUrlAsLink(e.html()))
            }),
            $(document).on("pageInit", "#page-task-commit",
            function (t, a, i) {
                $(i).find(".i-roundclose").on("click",
                        function () {
                            n()
                        });
                var e = $("#taskDesc");
                e.length && e.html(replaceUrlAsLink(e.html()));
                var o = $(i).find("#uploader"),
                        c = $(i).find(".btn-submit"),
                        l = [];
                o.uploader({
                    maxCount: 5,
                    onChange: function (n) {
                        var t = this.subCount,
                                a = !1;
                        $.each(l,
                                function () {
                                    return this.name == n.name && this.size == n.size ? (o.find(".weui_uploader_file").last().remove(), t(), a = !0, !1) : void 0
                                }),
                                a ? $.alert("请不要上传相同的图片") : l.push(n),
                                l.length > 0 && c.removeClass("disabled")
                    }
                }),
                        c.on("click",
                                function () {
                                    if (c.hasClass("disabled"))
                                        return $.alert("disabled: 请先上传任务图片"),
                                                !1;
                                    if (0 == l.length)
                                        return $.alert("length: 请先上传任务图片"),
                                                !1;
                                    var n = {};
                                    $.each(l,
                                            function (t) {
                                                n["photo" + t] = this.data.split(",")[1]
                                            }),
                                            postData("/task/upload?format=base64", {
                                                data: n,
                                                callback: function (n, t) {
                                                    t ? $.alert(t) : $.alert("任务提交成功，请等待审核!",
                                                            function () {
                                                                $.router.load("/task", !0)
                                                            })
                                                }
                                            })
                                })
            }),
            $(document).on("pageInit", "#page-task",
            function (n, t, a) {
                $(a).find(".btn-qrcode").on("click",
                        function () {
                            showQrCode(a, "/task/qrcode", "/task")
                        })
            }),
            $(document).on("pageInit", "#page-my-invite",
            function (n, t, a) {
                var i = $(a).find(".popup-invite-qrocde");
                i.on("open",
                        function () {
                            var n = i.find("img");
                            "" === n.attr("src") && n.attr("src", n.data("src"))
                        })
            }),
            $.init()
});